Pedra, papel, tesoura com vetor
Depois que aprendemos à trabalhar com vetores, vamos comparar a implementação do jogo pedra, papel, tesoura feito anteriormente, com uma versão melhorada, utilizando vetores.
Jogo Pedra, Papel e Tesoura
import java.util.Scanner;
// SecureRandom é a biblioteca de sorteio de números
import java.security.SecureRandom;
public class App {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
// comando para preparar a variavel para o sorteio
SecureRandom sorteio = new SecureRandom();
String escolhaComputador = "";
String escolhaJogador = "";
System.out.println("Digite sua escolha (pedra, papel ou tesoura): ");
escolhaJogador = teclado.nextLine().toLowerCase();
// sorteia um numero de 0 à 2 (n - 1)
switch (sorteio.nextInt(3)) {
case 0:
escolhaComputador = "tesoura";
break;
case 1:
escolhaComputador = "pedra";
break;
case 2:
escolhaComputador = "papel";
break;
}
System.out.println("O computador escolheu: " + escolhaComputador);
// lógica do jogo
if (escolhaComputador.equals(escolhaJogador)) {
System.out.printf("Ambos escolheram %s. Deu empate!", escolhaComputador);
} else if (
(escolhaJogador.equals("pedra") && escolhaComputador.equals("tesoura")) ||
(escolhaJogador.equals("papel") && escolhaComputador.equals("pedra")) ||
(escolhaJogador.equals("tesoura") && escolhaComputador.equals("papel"))) {
System.out.println("Você venceu!");
} else if (
escolhaJogador.equals("pedra") ||
escolhaJogador.equals("papel") ||
escolhaJogador.equals("tesoura")) {
System.out.println("O computador venceu!");
} else {
System.out.println("Opção inválida! Use pedra, papel ou tesoura.");
}
teclado.close();
}
}
Compare agora com esta implementação utilizando vetor para determinar o sorteio da escolha do computador.
import java.util.Scanner;
// SecureRandom é a biblioteca de sorteio de números
import java.security.SecureRandom;
public class App {
public static void main(String[] args) {
String[] opcoes = {"pedra", "papel", "tesoura"};
Scanner teclado = new Scanner(System.in);
SecureRandom sorteio = new SecureRandom();
// Escolha do computador usando o array
int numeroSorteado = sorteio.nextInt(3);
String escolhaComputador = opcoes[numeroSorteado];
// Escolha do jogador
System.out.print("Digite sua escolha (pedra, papel ou tesoura): ");
String escolhaJogador = teclado.nextLine().toLowerCase();
// Validação simples
if (!escolhaJogador.equals("pedra") &&
!escolhaJogador.equals("papel") &&
!escolhaJogador.equals("tesoura")) {
System.out.println("Opção inválida! Use apenas pedra, papel ou tesoura.");
teclado.close();
return;
}
System.out.println("O computador escolheu: " + escolhaComputador);
// Lógica do jogo
if (escolhaComputador.equals(escolhaJogador)) {
System.out.println("Empate!");
}
else if (
(escolhaJogador.equals("pedra") && escolhaComputador.equals("tesoura")) ||
(escolhaJogador.equals("papel") && escolhaComputador.equals("pedra")) ||
(escolhaJogador.equals("tesoura") && escolhaComputador.equals("papel"))
) {
System.out.println("Você venceu!");
}
else {
System.out.println("O computador venceu!");
}
teclado.close();
}
}